Flymake is a universal
on-the-fly syntax checker implemented as an Emacs minor mode.
Flymake runs the pre-configured syntax check tool (compiler for
C++ files, perl for perl files, etc.) in the
background, passing it a temporary copy of the current buffer,
and parses the output for known error/warning message patterns.
Flymake then highlights erroneous lines (i.e. lines for which at
least one error or warning has been reported by the syntax check
tool), and displays an overall buffer status in the mode line.
Status information displayed by Flymake contains total number of
errors and warnings reported for the buffer during the last
syntax check.
flymake-goto-next-error and
flymake-goto-prev-error functions allow for easy
navigation to the next/previous erroneous line, respectively.
Calling flymake-display-err-menu-for-current-line
will popup a menu containing error messages reported by the
syntax check tool for the current line. Errors/warnings belonging
to another file, such as a .h header file included
by a .c file, are shown in the current buffer as
belonging to the first line. Menu items for such messages also
contain a filename and a line number. Selecting such a menu item
will automatically open the file and jump to the line with
error.
Syntax check is done 'on-the-fly'. It is started whenever
0.5 seconds ago (the delay is configurable).Flymake is a universal syntax checker in the sense that it's easily extended to support new syntax check tools and error message patterns. See Configuring Flymake.